package com.seednia.module.core.project.dto;

import java.util.Date;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;

import com.seednia.foundation.framework.dto.AbstractRecord;
import com.seednia.foundation.framework.dto.ICriteria;
import com.seednia.foundation.framework.util.RecordUtils;

/**
 * Project Criteria Class to query records
 *
 * @author Young Suk Ahn
 */
@XmlRootElement(name = "MemberCriteria", 
		namespace = "http://seednia.com/core/1.0")
@XmlType(name = "MemberCriteria")
@XmlAccessorType(XmlAccessType.PROPERTY)
public class MemberCriteria extends MemberDto implements ICriteria {

	private String roleLike = null;
	
	/**
	 * 
	 */
	private static final long serialVersionUID = 521585853027982153L;

	public MemberCriteria(){
		RecordUtils.initCriteria(this);
		this.setStatus(STATUS_ACTIVE);
	}
	
	@Override
	public Date getCreatedBefore() {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public Date getCreatedAfter() {
		// TODO Auto-generated method stub
		return null;
	}
	
	@Override
	public void setSearchText(String value)
	{
		throw new UnsupportedOperationException();
	}


	public String getRoleLike() {
		return roleLike;
	}

	public void setRoleLike(String roleLike) {
		this.roleLike = roleLike;
	}

	/**
	 * To create object from JSONP string
	 * Used by the REST framework when sending this object as parameter
	 * @param jsonStr
	 * @return
	 */
	public static MemberCriteria fromString(String jsonStr) {
		MemberCriteria retval = (MemberCriteria) AbstractRecord.fromString(MemberCriteria.class, jsonStr);
		return retval;
	}
}
